package com.note7_4;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 * 
 * @author 60973
 * 让用户输入一个日期字符串，将其转换成日期格式，格式是（yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd）中的一种，
 * 任何一种转换成功都可以；如果所有的都无法转换，输出日期格式非法。
 */
public class Question4 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入日期");
		String date = in.next();
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		//sf.applyPattern(pattern);		//应用什么样的日期格式  括号中为日期格式
		try {
			//yyyy-MM-dd 型转化
			Date d = sf.parse(date);
			System.out.println(d);
		} catch (ParseException e) {
			// yyyyMMdd 型转化
			SimpleDateFormat sf0 = new SimpleDateFormat("yyyyMMdd");
			//yyyyMMdd  能处理yyyy-MM-dd格式  ，但是在处理时将-作为减号处理 ，所以yyyy-MM-dd型必须在该类型前进行处理
			try {
				Date d = sf0.parse(date);
				System.out.println(d);
			} catch (ParseException e1) {
				//yyyy/MM/dd 型转化
				SimpleDateFormat sf1 = new SimpleDateFormat("yyyy/MM/dd");
				try {
					Date d = sf1.parse(date);
					System.out.println(d);
				} catch (ParseException e2) {
					System.out.println("日期格式非法！");
				}
			}
		}finally{
			System.out.println("-----转化结束-----");
		}
	}
	
	
//	public static void main(String[] args) {
//
//		SimpleDateFormat[] s1 = { new SimpleDateFormat("yyyy-MM-dd"), new SimpleDateFormat("yyyyMMdd"),
//				new SimpleDateFormat("yyyy/MM/dd") };
//
//		Scanner in = new Scanner(System.in);
//		System.out.println("输入日期");
//		String date = in.nextLine();// 读取到回车
//		Date aa = null;
//
//		for (SimpleDateFormat sd : s1) {
//			sd.setLenient(false);
//			try {
//				aa = sd.parse(date);
//				System.out.println(sd.format(aa));
//				return;
//			} catch (ParseException e) {
//				// e.printStackTrace();
//			}
//		}
//		System.out.println("日期格式非法");
//	}

}
